/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef JdfusionModel_h
#define JdfusionModel_h

@interface SubnetInfo :NSObject

/// Subnet的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 子网所属VPC的Id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网名称
@property (strong,nonatomic,nonnull)  NSString*  subnetName;

/// 子网网段
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// 子网可用ip数量
@property (strong,nonatomic,nonnull)  NSNumber*  availableIpCount;

/// 子网描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网的结束地址
@property (strong,nonatomic,nonnull)  NSString*  endIp;

/// 子网关联的路由表Id
@property (strong,nonatomic,nonnull)  NSString*  routeTableId;

/// 子网的起始地址
@property (strong,nonatomic,nonnull)  NSString*  startIp;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 可用区
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 子网创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithId:(NSString*) idValue
    vpcId:(NSString*)vpcId
    subnetName:(NSString*)subnetName
    cidrBlock:(NSString*)cidrBlock
    availableIpCount:(NSNumber*)availableIpCount
    descriptionValue:(NSString*)descriptionValue
    endIp:(NSString*)endIp
    routeTableId:(NSString*)routeTableId
    startIp:(NSString*)startIp
    cloudID:(NSString*)cloudID
    az:(NSString*)az
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateSubnet :NSObject

/// Subnet的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 子网名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 子网所属VPC的Id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网网段
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// 子网描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网所属可用域Id
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    vpcId:(NSString*)vpcId
    cidrBlock:(NSString*)cidrBlock
    descriptionValue:(NSString*)descriptionValue
    az:(NSString*)az
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SubnetDesInfo :NSObject

/// Subnet的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 子网名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 子网所属VPC的Id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网网段
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// 子网描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网所属可用域Id
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    vpcId:(NSString*)vpcId
    cidrBlock:(NSString*)cidrBlock
    descriptionValue:(NSString*)descriptionValue
    az:(NSString*)az
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcInfo :NSObject

/// Vpc的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 私有网络名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 地址范围
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// VPC 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    cidrBlock:(NSString*)cidrBlock
    descriptionValue:(NSString*)descriptionValue
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ResourceTFInfo :NSObject

/// uuid
@property (strong,nonatomic,nonnull)  NSString*  uuid;

/// 请求体
@property (strong,nonatomic,nonnull)  NSString*  body;

/// 状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 执行结果
@property (strong,nonatomic,nonnull)  NSString*  result;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;

/// cloud provider
@property (strong,nonatomic,nonnull)  NSString*  provider;

/// cloud ID
@property (strong,nonatomic,nonnull)  NSString*  cloudId;

/// user ID
@property (strong,nonatomic,nonnull)  NSString*  userId;


-(id) initWithUuid:(NSString*) uuid
    body:(NSString*)body
    status:(NSString*)status
    result:(NSString*)result
    createdTime:(NSString*)createdTime
    updateTime:(NSString*)updateTime
    provider:(NSString*)provider
    cloudId:(NSString*)cloudId
    userId:(NSString*)userId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcListInfo :NSObject

/// Vpc的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 私有网络名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// VPC的网段
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// VPC 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 私有网络包含的子网列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  subnetIds;

/// 路由表ID集合
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  routeTableIds;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    cidrBlock:(NSString*)cidrBlock
    descriptionValue:(NSString*)descriptionValue
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID
    subnetIds:(NSArray<NSString*>*)subnetIds
    routeTableIds:(NSArray<NSString*>*)routeTableIds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SysDiskInfo :NSObject

/// 硬盘大小
@property (strong,nonatomic,nonnull)  NSNumber*  diskSize;

/// 磁盘介质分类，目前为预留，可以为空
@property (strong,nonatomic,nonnull)  NSString*  diskMediumType;

/// 磁盘名称
@property (strong,nonatomic,nonnull)  NSString*  diskName;

/// 磁盘是否随主机一起删除
@property (strong,nonatomic,nonnull)  NSString*  autoDelete;

/// 磁盘状态
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithDiskSize:(NSNumber*) diskSize
    diskMediumType:(NSString*)diskMediumType
    diskName:(NSString*)diskName
    autoDelete:(NSString*)autoDelete
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ImageType :NSObject

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 镜像描述
@property (strong,nonatomic,nonnull)  NSString*  desc;

/// 镜像来源
@property (strong,nonatomic,nonnull)  NSString*  imageSource;

/// 镜像名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 镜像的操作系统类型
@property (strong,nonatomic,nonnull)  NSString*  osType;

/// 镜像的操作系统版本
@property (strong,nonatomic,nonnull)  NSString*  osVersion;

/// 镜像的操作系统发行版
@property (strong,nonatomic,nonnull)  NSString*  platform;

/// 镜像所属区域
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    desc:(NSString*)desc
    imageSource:(NSString*)imageSource
    name:(NSString*)name
    osType:(NSString*)osType
    osVersion:(NSString*)osVersion
    platform:(NSString*)platform
    region:(NSString*)region
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SecurityGroup :NSObject

/// 安全组ID
@property (strong,nonatomic,nonnull)  NSString*  groupId;

/// 安全组名称
@property (strong,nonatomic,nonnull)  NSString*  groupName;


-(id) initWithGroupId:(NSString*) groupId
    groupName:(NSString*)groupName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SystemDisk :NSObject

/// 否  系统盘的磁盘种类
@property (strong,nonatomic,nonnull)  NSString*  category;

/// 系统盘大小
@property (strong,nonatomic,nonnull)  NSNumber*  diskSize;

/// 系统盘描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;


-(id) initWithCategory:(NSString*) category
    diskSize:(NSNumber*)diskSize
    descriptionValue:(NSString*)descriptionValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Ip :NSObject

/// 弹性IP实例地址
@property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;

/// 私有IP的IPV4地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;


-(id) initWithElasticIpAddress:(NSString*) elasticIpAddress
    privateIpAddress:(NSString*)privateIpAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Tag :NSObject

/// 标签KEY值
@property (strong,nonatomic,nonnull)  NSString*  tagKey;

/// 标签Value值
@property (strong,nonatomic,nonnull)  NSString*  tagValue;


-(id) initWithTagKey:(NSString*) tagKey
    tagValue:(NSString*)tagValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DataDiskInfo :NSObject

/// 硬盘ID
@property (strong,nonatomic,nonnull)  NSString*  diskId;

/// 硬盘大小
@property (strong,nonatomic,nonnull)  NSNumber*  diskSize;

/// 磁盘介质分类，目前为预留，可以为空
@property (strong,nonatomic,nonnull)  NSString*  diskMediumType;

/// 磁盘名称
@property (strong,nonatomic,nonnull)  NSString*  diskName;

/// 磁盘是否随主机一起删除
@property (strong,nonatomic,nonnull)  NSString*  autoDelete;

/// 磁盘状态
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithDiskId:(NSString*) diskId
    diskSize:(NSNumber*)diskSize
    diskMediumType:(NSString*)diskMediumType
    diskName:(NSString*)diskName
    autoDelete:(NSString*)autoDelete
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface InstanceType :NSObject

/// 实例配置类型名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 处理器核数，单位为C
@property (strong,nonatomic,nonnull)  NSNumber*  cpu;

/// 内存大小，单位为M
@property (strong,nonatomic,nonnull)  NSNumber*  memory;


-(id) initWithName:(NSString*) name
    cpu:(NSNumber*)cpu
    memory:(NSNumber*)memory;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsInstanceDetailInfo :NSObject

/// RDS实例ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// RDS实例名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 可用区ID
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azs;

/// 实例引擎类型
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 付费方式，Postpaid：后付费; Prepaid：预付费
@property (strong,nonatomic,nonnull)  NSString*  payType;

/// 磁盘，单位GB
@property (strong,nonatomic,nonnull)  NSNumber*  storageGB;

/// 内存大小，单位MB
@property (strong,nonatomic,nonnull)  NSNumber*  memoryMB;

/// 实例类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 实例规格
@property (strong,nonatomic,nonnull)  NSString*  instanceClassType;

/// 实例的访问模式
@property (strong,nonatomic,nonnull)  NSString*  connectionMode;

/// 连接地址
@property (strong,nonatomic,nonnull)  NSString*  connectionString;

/// CPU核数
@property (strong,nonatomic,nonnull)  NSNumber*  instanceCPU;

/// 端口
@property (strong,nonatomic,nonnull)  NSString*  port;

/// VPC ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// subnet ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    azs:(NSArray<NSString*>*)azs
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    status:(NSString*)status
    payType:(NSString*)payType
    storageGB:(NSNumber*)storageGB
    memoryMB:(NSNumber*)memoryMB
    instanceType:(NSString*)instanceType
    instanceClassType:(NSString*)instanceClassType
    connectionMode:(NSString*)connectionMode
    connectionString:(NSString*)connectionString
    instanceCPU:(NSNumber*)instanceCPU
    port:(NSString*)port
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRDSInstance :NSObject

/// RDS实例ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// RDS实例名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 计费信息,prepaid\postpaid
@property (strong,nonatomic,nonnull)  NSString*  payType;

/// 可用区ID
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azs;

/// 实例引擎类型
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 实例类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 数据库版本号
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例规格
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 磁盘大小，单位GB
@property (strong,nonatomic,nonnull)  NSNumber*  storageGB;

/// VPC ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    payType:(NSString*)payType
    azs:(NSArray<NSString*>*)azs
    engine:(NSString*)engine
    status:(NSString*)status
    instanceType:(NSString*)instanceType
    cloudID:(NSString*)cloudID
    engineVersion:(NSString*)engineVersion
    instanceClass:(NSString*)instanceClass
    storageGB:(NSNumber*)storageGB
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateSgRule :NSObject

/// 规则类型，ingress、egress
@property (strong,nonatomic,nonnull)  NSString*  ruleType;

/// 协议，tcp、udp、icmp 或者 all
@property (strong,nonatomic,nonnull)  NSString*  protocol;

/// 起始端口
@property (strong,nonatomic,nonnull)  NSNumber*  fromPort;

/// 终止端口
@property (strong,nonatomic,nonnull)  NSNumber*  toPort;

/// 安全组ID
@property (strong,nonatomic,nonnull)  NSString*  securityGroupId;

/// 网络类型，internet、intranet
@property (strong,nonatomic,nonnull)  NSString*  nicType;

/// 认证策略，accept、drop
@property (strong,nonatomic,nonnull)  NSString*  policy;

/// 认证策略的权重，1-100。
@property (strong,nonatomic,nonnull)  NSNumber*  priority;

/// 目标IP地址范围
@property (strong,nonatomic,nonnull)  NSString*  cidrIp;


-(id) initWithRuleType:(NSString*) ruleType
    protocol:(NSString*)protocol
    fromPort:(NSNumber*)fromPort
    toPort:(NSNumber*)toPort
    securityGroupId:(NSString*)securityGroupId
    nicType:(NSString*)nicType
    policy:(NSString*)policy
    priority:(NSNumber*)priority
    cidrIp:(NSString*)cidrIp;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentAttachDisk :NSObject

/// 云硬盘 id
@property (strong,nonatomic,nonnull)  NSString*  diskId;

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithDiskId:(NSString*) diskId
    instanceId:(NSString*)instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentBucket :NSObject

/// 存储桶名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 访问控制，private,public-read,public-read-write
@property (strong,nonatomic,nonnull)  NSString*  acl;


-(id) initWithName:(NSString*) name
    acl:(NSString*)acl;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Apply :NSObject

/// 备注信息
@property (strong,nonatomic,nonnull)  NSString*  comment;


-(id) initWithComment:(NSString*) comment;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BackendServer :NSObject

/// 所属云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 负载均衡实例ID。
@property (strong,nonatomic,nonnull)  NSString*  serverId;

/// 负载均衡实例的名称。
@property (strong,nonatomic,nonnull)  NSString*  serverHealthStatus;

/// 后端服务器端口。
@property (strong,nonatomic,nonnull)  NSNumber*  port;

/// 后端服务器的权重。
@property (strong,nonatomic,nonnull)  NSNumber*  weight;

/// 后端服务器类型。
@property (strong,nonatomic,nonnull)  NSString*  type;


-(id) initWithCloudID:(NSString*) cloudID
    serverId:(NSString*)serverId
    serverHealthStatus:(NSString*)serverHealthStatus
    port:(NSNumber*)port
    weight:(NSNumber*)weight
    type:(NSString*)type;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateSecurityGroup :NSObject

/// 注册云信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 安全组 id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 目标安全组名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 安全组描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// VPC id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    vpcId:(NSString*)vpcId
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateKeypair :NSObject

/// 密钥名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 密钥指纹
@property (strong,nonatomic,nonnull)  NSString*  keyFingerprint;

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 否  导入的公钥
@property (strong,nonatomic,nonnull)  NSString*  publicKey;


-(id) initWithName:(NSString*) name
    keyFingerprint:(NSString*)keyFingerprint
    cloudID:(NSString*)cloudID
    publicKey:(NSString*)publicKey;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateLoadBalancerHTTPListener :NSObject

/// 是  负载均衡实例ID
@property (strong,nonatomic,nonnull)  NSString*  loadBalancerId;

/// 是  负载均衡实例前端使用的端口
@property (strong,nonatomic,nonnull)  NSNumber*  listenerPort;

/// 是  负载均衡实例后端使用的端口
@property (strong,nonatomic,nonnull)  NSNumber*  backendServerPort;

/// 否  服务器组ID
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupId;

/// 是  监听的带宽峰值
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;

/// 否  健康检查使用的端口
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckConnectPort;

/// 否  健康检查连续成功多少次后，将后端服务器的健康检查状态由fail判定为success。取值：2-10
@property (strong,nonatomic,nonnull)  NSNumber*  healthyThreshold;

/// 否  健康检查连续失败多少次后，将后端服务器的健康检查状态由success判定为fail。取值：2-10
@property (strong,nonatomic,nonnull)  NSNumber*  unhealthyThreshold;

/// 否  接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应，则判定为健康检查失败。取值：1-300（秒）
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckTimeout;

/// 否  健康检查的时间间隔。取值：1-50（秒）
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckInterval;

/// 否  健康检查正常的HTTP状态码，多个状态码用逗号分隔。取值：http_2xx（默认值） | http_3xx | http_4xx | http_5xx
@property (strong,nonatomic,nonnull)  NSString*  healthCheckHttpCode;


-(id) initWithLoadBalancerId:(NSString*) loadBalancerId
    listenerPort:(NSNumber*)listenerPort
    backendServerPort:(NSNumber*)backendServerPort
    vserverGroupId:(NSString*)vserverGroupId
    bandwidth:(NSNumber*)bandwidth
    healthCheckConnectPort:(NSNumber*)healthCheckConnectPort
    healthyThreshold:(NSNumber*)healthyThreshold
    unhealthyThreshold:(NSNumber*)unhealthyThreshold
    healthCheckTimeout:(NSNumber*)healthCheckTimeout
    healthCheckInterval:(NSNumber*)healthCheckInterval
    healthCheckHttpCode:(NSString*)healthCheckHttpCode;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentRdsAccount :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instId;

/// 账号名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 账号密码
@property (strong,nonatomic,nonnull)  NSString*  password;


-(id) initWithInstId:(NSString*) instId
    name:(NSString*)name
    password:(NSString*)password;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentAttachNetInterface :NSObject

/// 网卡 id
@property (strong,nonatomic,nonnull)  NSString*  interfaceId;

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithInterfaceId:(NSString*) interfaceId
    instanceId:(NSString*)instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentRdsDatabase :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instId;

/// 数据库名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 字符编码
@property (strong,nonatomic,nonnull)  NSString*  characterSetName;


-(id) initWithInstId:(NSString*) instId
    name:(NSString*)name
    characterSetName:(NSString*)characterSetName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateNetInterface :NSObject

/// 网卡的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 网卡名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 网卡描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// VPC的Id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 网卡类型
@property (strong,nonatomic,nonnull)  NSString*  type;

/// 子网id
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 可用区的 ID
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 弹性网卡关联的公网 IP
@property (strong,nonatomic,nonnull)  NSString*  associatedPublicIp;

/// 弹性网卡主私有 IP 地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;

/// 弹性网卡的 MAC 地址
@property (strong,nonatomic,nonnull)  NSString*  macAddress;

/// 弹性网卡附加的实例 ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 安全组
@property (strong,nonatomic,nonnull)  NSString*  securityGroupId;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    vpcId:(NSString*)vpcId
    type:(NSString*)type
    subnetId:(NSString*)subnetId
    az:(NSString*)az
    associatedPublicIp:(NSString*)associatedPublicIp
    privateIpAddress:(NSString*)privateIpAddress
    macAddress:(NSString*)macAddress
    instanceId:(NSString*)instanceId
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID
    securityGroupId:(NSString*)securityGroupId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ArrayDiskAttachment :NSObject

/// 挂载实例的ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithInstanceId:(NSString*) instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentBaseInfo :NSObject

/// 云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudId;

/// 版本
@property (strong,nonatomic,nonnull)  NSString*  version;

/// 是否只读 0：否 1：是
@property (strong,nonatomic,nonnull)  NSNumber*  readOnly;

/// ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 用户ID
@property (strong,nonatomic,nonnull)  NSString*  userId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 更新时间
@property (strong,nonatomic,nonnull)  NSString*  updatedTime;

/// 最近一次操作
@property (strong,nonatomic,nonnull)  NSString*  lastOperation;


-(id) initWithCloudId:(NSString*) cloudId
    version:(NSString*)version
    readOnly:(NSNumber*)readOnly
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    userId:(NSString*)userId
    createdTime:(NSString*)createdTime
    updatedTime:(NSString*)updatedTime
    lastOperation:(NSString*)lastOperation;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AllocateEipAddress :NSObject

/// 公网IP名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// EIP的带宽峰值，单位为Mbps
@property (strong,nonatomic,nonnull)  NSString*  bandwidth;

/// IP服务商
@property (strong,nonatomic,nonnull)  NSString*  provider;


-(id) initWithName:(NSString*) name
    bandwidth:(NSString*)bandwidth
    provider:(NSString*)provider;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentAssociateEip :NSObject

/// 公网IP id
@property (strong,nonatomic,nonnull)  NSString*  eipId;

/// 云产品的实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 要解绑的资源类型  虚拟机：vm 负载均衡：slb
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithEipId:(NSString*) eipId
    instanceId:(NSString*)instanceId
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SlbInfo :NSObject

/// 所属云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 负载均衡实例ID。
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 负载均衡实例的名称。
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 负载均衡实例状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 负载均衡实例的服务地址。
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 负载均衡实例的网络类型。
@property (strong,nonatomic,nonnull)  NSString*  addressType;

/// 私网负载均衡实例的交换机ID。
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 私网负载均衡实例的专有网络ID。
@property (strong,nonatomic,nonnull)  NSString*  vpc;

/// 私网负载均衡实例的网络类型
@property (strong,nonatomic,nonnull)  NSString*  networkType;

/// 可用区域。
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azs;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    status:(NSString*)status
    ipAddress:(NSString*)ipAddress
    addressType:(NSString*)addressType
    subnetId:(NSString*)subnetId
    vpc:(NSString*)vpc
    networkType:(NSString*)networkType
    azs:(NSArray<NSString*>*)azs
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentAccountGrant :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instId;

/// 账号名称
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 数据库名称
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// 权限
@property (strong,nonatomic,nonnull)  NSString*  privilege;


-(id) initWithInstId:(NSString*) instId
    accountName:(NSString*)accountName
    dbName:(NSString*)dbName
    privilege:(NSString*)privilege;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Deployment :NSObject

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  name;


-(id) initWithName:(NSString*) name;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ReverseDeploymentResourcesInfo :NSObject

/// VmIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  vmIds;

/// EipIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  eipIds;

/// SubnetIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  subnetIds;

/// NetworkInterfaceIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  networkInterfaceIds;

/// SlbIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  slbIds;

/// SecurityGroupIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  securityGroupIds;

/// KeypairIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  keypairIds;

/// DiskIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  diskIds;

/// VpcIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  vpcIds;

/// VserverGroupIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  vserverGroupIds;

/// HttpListenerIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  httpListenerIds;

/// DiskAttachmentIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  diskAttachmentIds;

/// NetInterfaceAttachmentIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  netInterfaceAttachmentIds;

/// EipAssociateIds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  eipAssociateIds;


-(id) initWithVmIds:(NSMutableDictionary<NSString*,NSString*>*) vmIds
    eipIds:(NSMutableDictionary<NSString*,NSString*>*)eipIds
    subnetIds:(NSMutableDictionary<NSString*,NSString*>*)subnetIds
    networkInterfaceIds:(NSMutableDictionary<NSString*,NSString*>*)networkInterfaceIds
    slbIds:(NSMutableDictionary<NSString*,NSString*>*)slbIds
    securityGroupIds:(NSMutableDictionary<NSString*,NSString*>*)securityGroupIds
    keypairIds:(NSMutableDictionary<NSString*,NSString*>*)keypairIds
    diskIds:(NSMutableDictionary<NSString*,NSString*>*)diskIds
    vpcIds:(NSMutableDictionary<NSString*,NSString*>*)vpcIds
    vserverGroupIds:(NSMutableDictionary<NSString*,NSString*>*)vserverGroupIds
    httpListenerIds:(NSMutableDictionary<NSString*,NSString*>*)httpListenerIds
    diskAttachmentIds:(NSMutableDictionary<NSString*,NSString*>*)diskAttachmentIds
    netInterfaceAttachmentIds:(NSMutableDictionary<NSString*,NSString*>*)netInterfaceAttachmentIds
    eipAssociateIds:(NSMutableDictionary<NSString*,NSString*>*)eipAssociateIds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface KeypairInfo :NSObject

/// 密钥名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 密钥指纹
@property (strong,nonatomic,nonnull)  NSString*  keyFingerprint;

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithName:(NSString*) name
    keyFingerprint:(NSString*)keyFingerprint
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TaskAddressInfo :NSObject

/// 任务类型:源地址中支持 s3file, aliyunfile，目标现在只支持s3file
@property (strong,nonatomic,nonnull)  NSString*  storageType;

/// 源地址的accesskey
@property (strong,nonatomic,nonnull)  NSString*  accessKey;

/// 源地址的securitykey
@property (strong,nonatomic,nonnull)  NSString*  secretKey;

/// 源地址的Endpoint
@property (strong,nonatomic,nonnull)  NSString*  endpoint;

/// 源地址的Bucket
@property (strong,nonatomic,nonnull)  NSString*  bucket;

/// 源地址的Prefix，不能以/开头
@property (strong,nonatomic,nonnull)  NSString*  prefix;

/// 云信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithStorageType:(NSString*) storageType
    accessKey:(NSString*)accessKey
    secretKey:(NSString*)secretKey
    endpoint:(NSString*)endpoint
    bucket:(NSString*)bucket
    prefix:(NSString*)prefix
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SimpleTaskAddressInfo :NSObject

/// 云信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 源地址的Bucket
@property (strong,nonatomic,nonnull)  NSString*  bucket;

/// 源地址的Prefix，不能以/开头
@property (strong,nonatomic,nonnull)  NSString*  prefix;


-(id) initWithCloudID:(NSString*) cloudID
    bucket:(NSString*)bucket
    prefix:(NSString*)prefix;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferTaskFailedFileInfo :NSObject

/// 文件路径
@property (strong,nonatomic,nonnull)  NSString*  path;


-(id) initWithPath:(NSString*) path;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ReturnErrorInfo :NSObject

/// 10位错误码；1-4服务码，5-7业务码，8-0错误码
@property (strong,nonatomic,nonnull)  NSString*  code;

/// 错误信息
@property (strong,nonatomic,nonnull)  NSString*  msg;

/// http协议状态码
@property (strong,nonatomic,nonnull)  NSNumber*  httpStatus;

/// PayloadInfo
@property (strong,nonatomic,nonnull)  NSObject*  payloadInfo;


-(id) initWithCode:(NSString*) code
    msg:(NSString*)msg
    httpStatus:(NSNumber*)httpStatus
    payloadInfo:(NSObject*)payloadInfo;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferTaskProgressInfo :NSObject

/// 任务ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 运行状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 启动时间
@property (strong,nonatomic,nonnull)  NSString*  timeStart;

/// 迁移成功文件个数
@property (strong,nonatomic,nonnull)  NSString*  succeedFileCount;

/// 迁移失败文件个数
@property (strong,nonatomic,nonnull)  NSString*  failedFileCount;


-(id) initWithId:(NSString*) idValue
    status:(NSString*)status
    timeStart:(NSString*)timeStart
    succeedFileCount:(NSString*)succeedFileCount
    failedFileCount:(NSString*)failedFileCount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateOSSBucket :NSObject

/// 存储桶名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  creationDate;

/// 云信息
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 访问控制,private\public-read\public-read-write
@property (strong,nonatomic,nonnull)  NSString*  acl;


-(id) initWithName:(NSString*) name
    creationDate:(NSString*)creationDate
    cloudID:(NSString*)cloudID
    acl:(NSString*)acl;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OssBucketDetailInfo :NSObject

/// 存储桶名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 存储桶权限
@property (strong,nonatomic,nonnull)  NSString*  acl;

/// 内网endpoint
@property (strong,nonatomic,nonnull)  NSString*  intranetEndpoint;

/// 外网endpoint
@property (strong,nonatomic,nonnull)  NSString*  extranetEndpoint;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  creationDate;

/// 云信息
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithName:(NSString*) name
    acl:(NSString*)acl
    intranetEndpoint:(NSString*)intranetEndpoint
    extranetEndpoint:(NSString*)extranetEndpoint
    creationDate:(NSString*)creationDate
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OssFileInfo :NSObject

/// 存储桶名称
@property (strong,nonatomic,nonnull)  NSString*  bucketName;

/// 文件存储Key值
@property (strong,nonatomic,nonnull)  NSString*  key;

/// 文件大小（字节）
@property (strong,nonatomic,nonnull)  NSNumber*  size;

/// 上次修改时间
@property (strong,nonatomic,nonnull)  NSString*  lastModifiedTime;

/// 存储类型
@property (strong,nonatomic,nonnull)  NSString*  storageClass;


-(id) initWithBucketName:(NSString*) bucketName
    key:(NSString*)key
    size:(NSNumber*)size
    lastModifiedTime:(NSString*)lastModifiedTime
    storageClass:(NSString*)storageClass;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OssBucketInfo :NSObject

/// 存储桶名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  creationDate;

/// 云信息
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithName:(NSString*) name
    creationDate:(NSString*)creationDate
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ChannelBaseInfo :NSObject

/// ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 状态
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DatasourceInfo :NSObject

/// ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 服务器地址
@property (strong,nonatomic,nonnull)  NSString*  address;

/// 端口
@property (strong,nonatomic,nonnull)  NSNumber*  port;

/// 数据库账号
@property (strong,nonatomic,nonnull)  NSString*  username;

/// 数据库密码
@property (strong,nonatomic,nonnull)  NSString*  password;


-(id) initWithId:(NSString*) idValue
    address:(NSString*)address
    port:(NSNumber*)port
    username:(NSString*)username
    password:(NSString*)password;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CloudInfo :NSObject

/// 云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudId;

/// 数据库ID
@property (strong,nonatomic,nonnull)  NSString*  rdsId;

/// 数据库账号
@property (strong,nonatomic,nonnull)  NSString*  username;

/// 数据库密码
@property (strong,nonatomic,nonnull)  NSString*  password;


-(id) initWithCloudId:(NSString*) cloudId
    rdsId:(NSString*)rdsId
    username:(NSString*)username
    password:(NSString*)password;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Info :NSObject

/// 10位错误码；1-4服务码，5-7业务码，8-0错误码
@property (strong,nonatomic,nonnull)  NSString*  code;

/// 错误信息
@property (strong,nonatomic,nonnull)  NSString*  message;


-(id) initWithCode:(NSString*) code
    message:(NSString*)message;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PermissionType :NSObject

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// IP协议
@property (strong,nonatomic,nonnull)  NSString*  ipProtocol;

/// 端口范围
@property (strong,nonatomic,nonnull)  NSString*  portRange;

/// 描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 源IP地址段，用于入方向授权
@property (strong,nonatomic,nonnull)  NSString*  sourceCidrIp;

/// 源安全组，用于入方向授权
@property (strong,nonatomic,nonnull)  NSString*  sourceGroupId;

/// 源安全组所属阿里云账户Id
@property (strong,nonatomic,nonnull)  NSString*  sourceGroupOwnerAccount;

/// 目标IP地址段，用于出方向授权
@property (strong,nonatomic,nonnull)  NSString*  destCidrIp;

/// 目标安全组，用于出方向授权
@property (strong,nonatomic,nonnull)  NSString*  destGroupId;

/// 目标安全组所属阿里云账户Id
@property (strong,nonatomic,nonnull)  NSString*  destGroupOwnerAccount;

/// 授权策略
@property (strong,nonatomic,nonnull)  NSString*  policy;

/// 网络类型
@property (strong,nonatomic,nonnull)  NSString*  nicType;

/// 规则优先级
@property (strong,nonatomic,nonnull)  NSString*  priority;

/// 授权方向
@property (strong,nonatomic,nonnull)  NSString*  direction;


-(id) initWithCloudID:(NSString*) cloudID
    ipProtocol:(NSString*)ipProtocol
    portRange:(NSString*)portRange
    descriptionValue:(NSString*)descriptionValue
    sourceCidrIp:(NSString*)sourceCidrIp
    sourceGroupId:(NSString*)sourceGroupId
    sourceGroupOwnerAccount:(NSString*)sourceGroupOwnerAccount
    destCidrIp:(NSString*)destCidrIp
    destGroupId:(NSString*)destGroupId
    destGroupOwnerAccount:(NSString*)destGroupOwnerAccount
    policy:(NSString*)policy
    nicType:(NSString*)nicType
    priority:(NSString*)priority
    direction:(NSString*)direction;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SecurityGroupInfo :NSObject

/// 注册云信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 安全组 id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 目标安全组名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 安全组描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// VPC id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    vpcId:(NSString*)vpcId
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TaskInfo :NSObject

/// 任务执行开始时间
@property (strong,nonatomic,nonnull)  NSString*  beginTime;

/// 任务执行结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 任务执行状态：running、finished
@property (strong,nonatomic,nonnull)  NSString*  taskStatus;

/// 任务执行结果：done、error、nochange
@property (strong,nonatomic,nonnull)  NSString*  taskResult;

/// 任务执行最后编码:
   /// CREATEING_RESOURCE_INFO-&gt;未完成:正在构建目标资源信息
   /// CREATE_RESOURCE_INFO_ERROR-&gt;失败完成:目标资源描述信息创建失败！
   /// CREATE_RESOURCE_INFO_SUCCESS-&gt;未完成:目标资源描述信息创建成功！开始初始化构建程序
   /// PROGRAM_INITING-&gt;未完成:正在初始化构建程序
   /// PROGRAM_INIT_ERROR-&gt;失败完成:构建程序初始化失败！
   /// PROGRAM_INIT_SUCCESS-&gt;未完成:构建程序初始化成功！开始分析本次构建任务
   /// TASK_PLAN_ERROR-&gt;失败完成:构建分析发生错误！
   /// TASK_PLAN_NOCHANGE-&gt;完成:本次构建无可执行操作
   /// TASK_PLAN_SUCCESS-&gt;未完成:分析完成！开始执行资源构建
   /// TASK_RUN_FAILED-&gt;失败完成:资源构建任务执行失败！
   /// TASK_RUN_NOCHANGE-&gt;完成:本次构建未执行任何操作
   /// TASK_RUN_SUCCESS-&gt;完成:资源构建任务执行完毕！
@property (strong,nonatomic,nonnull)  NSString*  lastCode;

/// 任务执行之后编码描述
@property (strong,nonatomic,nonnull)  NSString*  taskLastInfo;

/// 任务执行成功后返回的ID列表
@property (strong,nonatomic,nonnull)  NSArray<NSObject*>*  resourceIDs;

/// 任务执行日志信息
@property (strong,nonatomic,nonnull)  NSArray<NSObject*>*  msg;


-(id) initWithBeginTime:(NSString*) beginTime
    endTime:(NSString*)endTime
    taskStatus:(NSString*)taskStatus
    taskResult:(NSString*)taskResult
    lastCode:(NSString*)lastCode
    taskLastInfo:(NSString*)taskLastInfo
    resourceIDs:(NSArray<NSObject*>*)resourceIDs
    msg:(NSArray<NSObject*>*)msg;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRDSAccount :NSObject

/// 账号名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 密码
@property (strong,nonatomic,nonnull)  NSString*  password;


-(id) initWithName:(NSString*) name
    password:(NSString*)password;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsAccountPrivilege :NSObject

/// 数据库名称
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// 账号对数据库所具有的权限
@property (strong,nonatomic,nonnull)  NSString*  privilege;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithDbName:(NSString*) dbName
    privilege:(NSString*)privilege
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DbPrivilegeInfo :NSObject

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// 权限，RO:只读，RW:读写
@property (strong,nonatomic,nonnull)  NSString*  privilege;


-(id) initWithDbName:(NSString*) dbName
    privilege:(NSString*)privilege;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface GetUserCloudNotFoundResp :NSObject

/// Error
@property (strong,nonatomic,nonnull)  NSObject*  error;


-(id) initWithError:(NSObject*) error;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Payload1 :NSObject

/// Cloud
@property (strong,nonatomic,nonnull)  NSString*  cloud;


-(id) initWithCloud:(NSString*) cloud;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Payload :NSObject

/// Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;


-(id) initWithId:(NSString*) idValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface InstanceTypeInfo :NSObject

/// 类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 处理器核数，单位为C
@property (strong,nonatomic,nonnull)  NSNumber*  cpu;

/// 内存大小，单位为M
@property (strong,nonatomic,nonnull)  NSNumber*  memory;

/// GPU 数量
@property (strong,nonatomic,nonnull)  NSNumber*  gpuAmount;

/// GPU 类型
@property (strong,nonatomic,nonnull)  NSString*  gpuSpec;

/// 本地存储的单盘容量
@property (strong,nonatomic,nonnull)  NSNumber*  localStorageSize;

/// 本地存储的类型
@property (strong,nonatomic,nonnull)  NSString*  localStorageType;

/// 本地存储的数量
@property (strong,nonatomic,nonnull)  NSNumber*  localStorageAmount;

/// 支持弹性网卡的数量
@property (strong,nonatomic,nonnull)  NSNumber*  nicLimit;


-(id) initWithInstanceType:(NSString*) instanceType
    cpu:(NSNumber*)cpu
    memory:(NSNumber*)memory
    gpuAmount:(NSNumber*)gpuAmount
    gpuSpec:(NSString*)gpuSpec
    localStorageSize:(NSNumber*)localStorageSize
    localStorageType:(NSString*)localStorageType
    localStorageAmount:(NSNumber*)localStorageAmount
    nicLimit:(NSNumber*)nicLimit;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LbHttpListener :NSObject

/// 负载均衡实例前端使用的端口。
@property (strong,nonatomic,nonnull)  NSNumber*  listenerPort;

/// 负载均衡实例后端使用的端口。
@property (strong,nonatomic,nonnull)  NSNumber*  backendServerPort;

/// 当前监听的状态。
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 调度算法。
@property (strong,nonatomic,nonnull)  NSString*  scheduler;

/// 绑定的服务器组ID。
@property (strong,nonatomic,nonnull)  NSString*  vServerGroupId;

/// 是否开启健康检查。
@property (strong,nonatomic,nonnull)  NSString*  healthCheck;

/// 否  健康检查使用的端口
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckConnectPort;

/// 否  健康检查连续成功多少次后，将后端服务器的健康检查状态由fail判定为success。取值：2-10
@property (strong,nonatomic,nonnull)  NSNumber*  healthyThreshold;

/// 否  健康检查连续失败多少次后，将后端服务器的健康检查状态由success判定为fail。取值：2-10
@property (strong,nonatomic,nonnull)  NSNumber*  unhealthyThreshold;

/// 否  接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应，则判定为健康检查失败。取值：1-300（秒）
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckTimeout;

/// 否  健康检查的时间间隔。取值：1-50（秒）
@property (strong,nonatomic,nonnull)  NSNumber*  healthCheckInterval;

/// 否  健康检查正常的HTTP状态码，多个状态码用逗号分隔。取值：http_2xx（默认值） | http_3xx | http_4xx | http_5xx
@property (strong,nonatomic,nonnull)  NSString*  healthCheckHttpCode;


-(id) initWithListenerPort:(NSNumber*) listenerPort
    backendServerPort:(NSNumber*)backendServerPort
    status:(NSString*)status
    scheduler:(NSString*)scheduler
    vServerGroupId:(NSString*)vServerGroupId
    healthCheck:(NSString*)healthCheck
    healthCheckConnectPort:(NSNumber*)healthCheckConnectPort
    healthyThreshold:(NSNumber*)healthyThreshold
    unhealthyThreshold:(NSNumber*)unhealthyThreshold
    healthCheckTimeout:(NSNumber*)healthCheckTimeout
    healthCheckInterval:(NSNumber*)healthCheckInterval
    healthCheckHttpCode:(NSString*)healthCheckHttpCode;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ListenerPortsAndProtocol :NSObject

/// 负载均衡实例前端使用的端口。
@property (strong,nonatomic,nonnull)  NSNumber*  listenerPort;

/// 负载均衡实例前端使用的协议。
@property (strong,nonatomic,nonnull)  NSString*  listenerProtocol;

/// 是否启用监听转发。
@property (strong,nonatomic,nonnull)  NSString*  listenerForward;

/// 转发到的目的监听端口，必须是已经存在的HTTPS监听端口。
@property (strong,nonatomic,nonnull)  NSNumber*  forwardPort;


-(id) initWithListenerPort:(NSNumber*) listenerPort
    listenerProtocol:(NSString*)listenerProtocol
    listenerForward:(NSString*)listenerForward
    forwardPort:(NSNumber*)forwardPort;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UnassociateEipAddress :NSObject

/// 云产品的实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 要解绑的资源类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AssociateEipAddress :NSObject

/// 云产品的实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 要绑定的云产品实例的类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface EipAddress :NSObject

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 公网IP地址
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 公网IP ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 当前绑定的实例类型
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 当前绑定的实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// EIP的带宽峰值，单位为Mbps
@property (strong,nonatomic,nonnull)  NSString*  bandwidth;

/// EIP的创建时间
@property (strong,nonatomic,nonnull)  NSString*  jdfusionAllocationTime;


-(id) initWithCloudID:(NSString*) cloudID
    ipAddress:(NSString*)ipAddress
    idValue:(NSString*)idValue
    status:(NSString*)status
    instanceType:(NSString*)instanceType
    instanceId:(NSString*)instanceId
    bandwidth:(NSString*)bandwidth
    jdfusionAllocationTime:(NSString*)jdfusionAllocationTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AttachDataDisk :NSObject

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 释放实例时，该云盘是否随实例一起释放。默认值：False
@property (strong,nonatomic,nonnull)  NSNumber*  deleteWithInstance;


-(id) initWithInstanceId:(NSString*) instanceId
    deleteWithInstance:(NSNumber*)deleteWithInstance;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DetachDataDisk :NSObject

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithInstanceId:(NSString*) instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PrivateIp :NSObject

/// 内网IP的地址。
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 是否为主IP
@property (strong,nonatomic,nonnull)  NSNumber*  primary;

/// 弹性IP实例ID。
@property (strong,nonatomic,nonnull)  NSString*  eipId;

/// 弹性IP实例地址。
@property (strong,nonatomic,nonnull)  NSString*  eipAddress;


-(id) initWithIpAddress:(NSString*) ipAddress
    primary:(NSNumber*)primary
    eipId:(NSString*)eipId
    eipAddress:(NSString*)eipAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DetachNetInterface :NSObject

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithInstanceId:(NSString*) instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AttachNetInterface :NSObject

/// 虚拟机 id
@property (strong,nonatomic,nonnull)  NSString*  instanceId;


-(id) initWithInstanceId:(NSString*) instanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BackendServer2 :NSObject

/// 后端服务器名（ECS实例）ID。
@property (strong,nonatomic,nonnull)  NSString*  serverId;

/// 后端服务器的权重。
@property (strong,nonatomic,nonnull)  NSNumber*  weight;

/// 后端服务器类型。
@property (strong,nonatomic,nonnull)  NSString*  type;


-(id) initWithServerId:(NSString*) serverId
    weight:(NSNumber*)weight
    type:(NSString*)type;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VserverGroupInfo :NSObject

/// 所属云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 服务器组ID
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupId;

/// 服务器组名称
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupName;


-(id) initWithCloudID:(NSString*) cloudID
    vserverGroupId:(NSString*)vserverGroupId
    vserverGroupName:(NSString*)vserverGroupName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VserverGroupBackendServer :NSObject

/// 负载均衡实例ID。
@property (strong,nonatomic,nonnull)  NSString*  serverId;

/// 后端服务器端口。
@property (strong,nonatomic,nonnull)  NSNumber*  port;

/// 后端服务器的权重。
@property (strong,nonatomic,nonnull)  NSNumber*  weight;


-(id) initWithServerId:(NSString*) serverId
    port:(NSNumber*)port
    weight:(NSNumber*)weight;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ImageInfo :NSObject

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 镜像名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 镜像描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 镜像架构
@property (strong,nonatomic,nonnull)  NSString*  architecture;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 镜像来源
@property (strong,nonatomic,nonnull)  NSString*  imageSource;

/// 镜像操作系统类型
@property (strong,nonatomic,nonnull)  NSString*  osType;

/// 操作系统平台
@property (strong,nonatomic,nonnull)  NSString*  platform;

/// 镜像复制和转换时的进度，仅显示数值，单位为百分比
@property (strong,nonatomic,nonnull)  NSString*  progress;

/// 镜像大小 单位MB
@property (strong,nonatomic,nonnull)  NSNumber*  size;

/// 状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    architecture:(NSString*)architecture
    createdTime:(NSString*)createdTime
    imageSource:(NSString*)imageSource
    osType:(NSString*)osType
    platform:(NSString*)platform
    progress:(NSString*)progress
    size:(NSNumber*)size
    status:(NSString*)status
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsSpecificationDisk :NSObject

/// 硬盘大小列表
@property (strong,nonatomic,nonnull)  NSArray<NSNumber*>*  list;

/// 硬盘最小值
@property (strong,nonatomic,nonnull)  NSNumber*  min;

/// 硬盘最大值
@property (strong,nonatomic,nonnull)  NSNumber*  max;


-(id) initWithList:(NSArray<NSNumber*>*) list
    min:(NSNumber*)min
    max:(NSNumber*)max;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AzInfo :NSObject

/// 可用域 ID
@property (strong,nonatomic,nonnull)  NSString*  zoneId;

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  localName;


-(id) initWithZoneId:(NSString*) zoneId
    localName:(NSString*)localName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RegionInfo :NSObject

/// 地域 ID
@property (strong,nonatomic,nonnull)  NSString*  regionId;

/// 地域名称
@property (strong,nonatomic,nonnull)  NSString*  localName;

/// 供应商
@property (strong,nonatomic,nonnull)  NSString*  vendor;


-(id) initWithRegionId:(NSString*) regionId
    localName:(NSString*)localName
    vendor:(NSString*)vendor;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRDSDB :NSObject

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 字符集
@property (strong,nonatomic,nonnull)  NSString*  characterSetName;


-(id) initWithName:(NSString*) name
    characterSetName:(NSString*)characterSetName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsDBAccessPrivilege :NSObject

/// 账号名称
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 账号对数据库所具有的权限
@property (strong,nonatomic,nonnull)  NSString*  privilege;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithAccountName:(NSString*) accountName
    privilege:(NSString*)privilege
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSubnetItem :NSObject

/// Subnet
@property (strong,nonatomic,nonnull)  SubnetDesInfo*  subnet;


-(id) initWithSubnet:(SubnetDesInfo*) subnet;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSubnetCollection :NSObject

/// Subnets
@property (strong,nonatomic,nonnull)  NSArray<SubnetDesInfo*>*  subnets;


-(id) initWithSubnets:(NSArray<SubnetDesInfo*>*) subnets;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcCollection :NSObject

/// Vpcs
@property (strong,nonatomic,nonnull)  NSArray<VpcInfo*>*  vpcs;


-(id) initWithVpcs:(NSArray<VpcInfo*>*) vpcs;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcInfoDetail :NSObject

/// Vpc的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 私有网络名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 地址范围
@property (strong,nonatomic,nonnull)  NSString*  cidrBlock;

/// VPC 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 私有网络包含的子网列表
@property (strong,nonatomic,nonnull)  NSArray<SubnetInfo*>*  subnets;

/// 路由表ID集合
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  routeTableIds;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    cidrBlock:(NSString*)cidrBlock
    descriptionValue:(NSString*)descriptionValue
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID
    subnets:(NSArray<SubnetInfo*>*)subnets
    routeTableIds:(NSArray<NSString*>*)routeTableIds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcItem :NSObject

/// Vpc
@property (strong,nonatomic,nonnull)  VpcInfoDetail*  vpc;


-(id) initWithVpc:(VpcInfoDetail*) vpc;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DataDiskAttachment :NSObject

/// 是否随云主机一起删除,true：自动；false：非自动
@property (strong,nonatomic,nonnull)  NSNumber*  autoDelete;

/// DataDisk
@property (strong,nonatomic,nonnull)  DataDiskInfo*  dataDisk;

/// 数据盘逻辑挂载点
@property (strong,nonatomic,nonnull)  NSString*  deviceName;

/// 磁盘分类,取值为本地盘(local)或者数据盘(cloud)
@property (strong,nonatomic,nonnull)  NSString*  diskCategory;


-(id) initWithAutoDelete:(NSNumber*) autoDelete
    dataDisk:(DataDiskInfo*)dataDisk
    deviceName:(NSString*)deviceName
    diskCategory:(NSString*)diskCategory;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmInstanceCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateVm :NSObject

/// 资源ID，如果为空，则执行创建操作，否则执行修改操作
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 可用区,根据各云平台规范填写
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 云主机所属的可用区
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 云主机名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 云主机
@property (strong,nonatomic,nonnull)  NSString*  hostName;

/// ImageType
@property (strong,nonatomic,nonnull)  ImageType*  imageType;

/// InstanceType
@property (strong,nonatomic,nonnull)  InstanceType*  instanceType;

/// 云主机描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// Tags
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 密钥对名称,jd当前只支持传入一个
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  keyNames;

/// 主网卡主IP绑定弹性IP的地址
@property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;

/// 私有ip地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;

/// 云主机状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 镜像文件ID，启动实例时选择的镜像资源
@property (strong,nonatomic,nonnull)  NSString*  imageId;

/// 规格类型
@property (strong,nonatomic,nonnull)  NSString*  instanceFlavorType;

/// 指定新创建实例所属于的安全组代码，同一个安全组内的实例之间可以互相访问
@property (strong,nonatomic,nonnull)  NSString*  securityGroupId;

/// 否  公网入带宽最大值，单位为Mbit/s
@property (strong,nonatomic,nonnull)  NSNumber*  internetMaxBandwidthIn;

/// 否  公网出带宽最大值，单位为Mbit/s
@property (strong,nonatomic,nonnull)  NSNumber*  internetMaxBandwidthOut;

/// 否  实例的密码
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 否  是否使用镜像预设的密码
@property (strong,nonatomic,nonnull)  NSNumber*  passwordInherit;

/// 否  实例自定义数据，需要以Base64方式编码，原始数据最多为16KB
@property (strong,nonatomic,nonnull)  NSString*  userData;

/// 否  密钥对名称
@property (strong,nonatomic,nonnull)  NSString*  keyPairName;

/// SystemDisk
@property (strong,nonatomic,nonnull)  SystemDisk*  systemDisk;


-(id) initWithId:(NSString*) idValue
    region:(NSString*)region
    az:(NSString*)az
    name:(NSString*)name
    hostName:(NSString*)hostName
    imageType:(ImageType*)imageType
    instanceType:(InstanceType*)instanceType
    descriptionValue:(NSString*)descriptionValue
    subnetId:(NSString*)subnetId
    tags:(NSArray<Tag*>*)tags
    cloudID:(NSString*)cloudID
    keyNames:(NSArray<NSString*>*)keyNames
    elasticIpAddress:(NSString*)elasticIpAddress
    privateIpAddress:(NSString*)privateIpAddress
    status:(NSString*)status
    createdTime:(NSString*)createdTime
    imageId:(NSString*)imageId
    instanceFlavorType:(NSString*)instanceFlavorType
    securityGroupId:(NSString*)securityGroupId
    internetMaxBandwidthIn:(NSNumber*)internetMaxBandwidthIn
    internetMaxBandwidthOut:(NSNumber*)internetMaxBandwidthOut
    password:(NSString*)password
    passwordInherit:(NSNumber*)passwordInherit
    userData:(NSString*)userData
    keyPairName:(NSString*)keyPairName
    systemDisk:(SystemDisk*)systemDisk;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface NetworkInterface :NSObject

/// 以太网地址
@property (strong,nonatomic,nonnull)  NSString*  macAddress;

/// 弹性网卡ID
@property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;

/// 源和目标IP地址校验,取值为0或者1
@property (strong,nonatomic,nonnull)  NSNumber*  sanityCheck;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 虚拟网络ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// PrimaryIp
@property (strong,nonatomic,nonnull)  Ip*  primaryIp;

/// 网卡辅IP
@property (strong,nonatomic,nonnull)  NSArray<Ip*>*  secondaryIps;

/// 所属安全组列表
@property (strong,nonatomic,nonnull)  NSArray<SecurityGroup*>*  securityGroups;


-(id) initWithMacAddress:(NSString*) macAddress
    networkInterfaceId:(NSString*)networkInterfaceId
    sanityCheck:(NSNumber*)sanityCheck
    subnetId:(NSString*)subnetId
    vpcId:(NSString*)vpcId
    primaryIp:(Ip*)primaryIp
    secondaryIps:(NSArray<Ip*>*)secondaryIps
    securityGroups:(NSArray<SecurityGroup*>*)securityGroups;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmInfo :NSObject

/// 资源ID，如果为空，则执行创建操作，否则执行修改操作
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 可用区,根据各云平台规范填写
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 云主机所属的可用区
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 云主机名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 云主机
@property (strong,nonatomic,nonnull)  NSString*  hostName;

/// ImageType
@property (strong,nonatomic,nonnull)  ImageType*  imageType;

/// InstanceType
@property (strong,nonatomic,nonnull)  InstanceType*  instanceType;

/// 云主机描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// Tags
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 密钥对名称,jd当前只支持传入一个
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  keyNames;

/// 主网卡主IP绑定弹性IP的地址
@property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;

/// 私有ip地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;

/// 云主机状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;

/// 安全组ID
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  securityGroupIds;


-(id) initWithId:(NSString*) idValue
    region:(NSString*)region
    az:(NSString*)az
    name:(NSString*)name
    hostName:(NSString*)hostName
    imageType:(ImageType*)imageType
    instanceType:(InstanceType*)instanceType
    descriptionValue:(NSString*)descriptionValue
    subnetId:(NSString*)subnetId
    tags:(NSArray<Tag*>*)tags
    cloudID:(NSString*)cloudID
    keyNames:(NSArray<NSString*>*)keyNames
    elasticIpAddress:(NSString*)elasticIpAddress
    privateIpAddress:(NSString*)privateIpAddress
    status:(NSString*)status
    createdTime:(NSString*)createdTime
    imageId:(NSString*)imageId
    securityGroupIds:(NSArray<NSString*>*)securityGroupIds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRDSInstanceReq :NSObject

/// Instance
@property (strong,nonatomic,nonnull)  CreateRDSInstance*  instance;


-(id) initWithInstance:(CreateRDSInstance*) instance;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateVserverGroup :NSObject

/// 负载均衡实例ID
@property (strong,nonatomic,nonnull)  NSString*  loadBalancerId;

/// 服务器组名称
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupName;

/// 安全组权限规则集合
@property (strong,nonatomic,nonnull)  NSArray<BackendServer*>*  backendServers;


-(id) initWithLoadBalancerId:(NSString*) loadBalancerId
    vserverGroupName:(NSString*)vserverGroupName
    backendServers:(NSArray<BackendServer*>*)backendServers;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateDataDisk :NSObject

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 云硬盘ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 云硬盘名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 云硬盘描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 磁盘大小,单位为 GiB
@property (strong,nonatomic,nonnull)  NSNumber*  diskSizeGB;

/// 挂载信息
@property (strong,nonatomic,nonnull)  NSArray<ArrayDiskAttachment*>*  attachments;

/// 云硬盘所属AZ
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 磁盘类型,取值为 ssd 或 premium-hdd
@property (strong,nonatomic,nonnull)  NSString*  diskType;

/// 创建该云硬盘的快照ID
@property (strong,nonatomic,nonnull)  NSString*  snapshotId;

/// 云硬盘状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// Tags
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    diskSizeGB:(NSNumber*)diskSizeGB
    attachments:(NSArray<ArrayDiskAttachment*>*)attachments
    az:(NSString*)az
    diskType:(NSString*)diskType
    snapshotId:(NSString*)snapshotId
    status:(NSString*)status
    tags:(NSArray<Tag*>*)tags
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ReverseDeploymentInfo :NSObject

/// 模板名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 版本
@property (strong,nonatomic,nonnull)  NSString*  version;

/// 是否只读 0：否 1：是
@property (strong,nonatomic,nonnull)  NSNumber*  readOnly;

/// Resources
@property (strong,nonatomic,nonnull)  ReverseDeploymentResourcesInfo*  resources;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    version:(NSString*)version
    readOnly:(NSNumber*)readOnly
    resources:(ReverseDeploymentResourcesInfo*)resources;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

@interface VmKeypairCreateTask :NSObject

/// Tasks
@property (strong,nonatomic,nonnull)  NSArray<ResourceTFInfo*>*  tasks;


-(id) initWithTasks:(NSArray<ResourceTFInfo*>*) tasks;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmKeypairItem :NSObject

/// Keypair
@property (strong,nonatomic,nonnull)  KeypairInfo*  keypair;


-(id) initWithKeypair:(KeypairInfo*) keypair;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmKeypairCollection :NSObject

/// Keypairs
@property (strong,nonatomic,nonnull)  NSArray<KeypairInfo*>*  keypairs;


-(id) initWithKeypairs:(NSArray<KeypairInfo*>*) keypairs;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferSimpleTaskInfo :NSObject

/// 任务名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// SrcAddress
@property (strong,nonatomic,nonnull)  SimpleTaskAddressInfo*  srcAddress;

/// DstAddress
@property (strong,nonatomic,nonnull)  SimpleTaskAddressInfo*  dstAddress;


-(id) initWithName:(NSString*) name
    srcAddress:(SimpleTaskAddressInfo*)srcAddress
    dstAddress:(SimpleTaskAddressInfo*)dstAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferTaskFailedDetailInfo :NSObject

/// 错误文件个数
@property (strong,nonatomic,nonnull)  NSString*  count;

/// Files
@property (strong,nonatomic,nonnull)  NSArray<TransferTaskFailedFileInfo*>*  files;


-(id) initWithCount:(NSString*) count
    files:(NSArray<TransferTaskFailedFileInfo*>*)files;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferTaskInfoWithID :NSObject

/// 任务ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 任务名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// SrcAddress
@property (strong,nonatomic,nonnull)  TaskAddressInfo*  srcAddress;

/// DstAddress
@property (strong,nonatomic,nonnull)  TaskAddressInfo*  dstAddress;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    srcAddress:(TaskAddressInfo*)srcAddress
    dstAddress:(TaskAddressInfo*)dstAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TransferTaskInfo :NSObject

/// 任务名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// SrcAddress
@property (strong,nonatomic,nonnull)  TaskAddressInfo*  srcAddress;

/// DstAddress
@property (strong,nonatomic,nonnull)  TaskAddressInfo*  dstAddress;


-(id) initWithName:(NSString*) name
    srcAddress:(TaskAddressInfo*)srcAddress
    dstAddress:(TaskAddressInfo*)dstAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DataMediaInfo :NSObject

/// Cloud
@property (strong,nonatomic,nonnull)  CloudInfo*  cloud;

/// Datasource
@property (strong,nonatomic,nonnull)  DatasourceInfo*  datasource;

/// schema
@property (strong,nonatomic,nonnull)  NSString*  schema;

/// table
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  tables;


-(id) initWithCloud:(CloudInfo*) cloud
    datasource:(DatasourceInfo*)datasource
    schema:(NSString*)schema
    tables:(NSArray<NSString*>*)tables;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ChannelInfo :NSObject

/// Info
@property (strong,nonatomic,nonnull)  ChannelBaseInfo*  info;

/// Source
@property (strong,nonatomic,nonnull)  DataMediaInfo*  source;

/// Target
@property (strong,nonatomic,nonnull)  DataMediaInfo*  target;


-(id) initWithInfo:(ChannelBaseInfo*) info
    source:(DataMediaInfo*)source
    target:(DataMediaInfo*)target;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Error :NSObject

/// Info
@property (strong,nonatomic,nonnull)  Info*  info;

/// Payload
@property (strong,nonatomic,nonnull)  NSObject*  payload;


-(id) initWithInfo:(Info*) info
    payload:(NSObject*)payload;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateDatasource :NSObject

/// Datasource
@property (strong,nonatomic,nonnull)  DatasourceInfo*  datasource;


-(id) initWithDatasource:(DatasourceInfo*) datasource;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ReturnError :NSObject

/// Error
@property (strong,nonatomic,nonnull)  Error*  error;


-(id) initWithError:(Error*) error;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSecurityGroupCollection :NSObject

/// SecurityGroups
@property (strong,nonatomic,nonnull)  NSArray<SecurityGroupInfo*>*  securityGroups;


-(id) initWithSecurityGroups:(NSArray<SecurityGroupInfo*>*) securityGroups;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSecurityGroupCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SecurityGroupDetail :NSObject

/// 注册云信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 安全组 id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 目标安全组名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 安全组描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// VPC id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 安全组权限规则集合
@property (strong,nonatomic,nonnull)  NSArray<PermissionType*>*  permissions;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    vpcId:(NSString*)vpcId
    createdTime:(NSString*)createdTime
    permissions:(NSArray<PermissionType*>*)permissions;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRDSAccountReq :NSObject

/// Account
@property (strong,nonatomic,nonnull)  CreateRDSAccount*  account;


-(id) initWithAccount:(CreateRDSAccount*) account;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsAccountInfo :NSObject

/// 账号名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 账号状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// AccountPrivileges
@property (strong,nonatomic,nonnull)  NSArray<RdsAccountPrivilege*>*  accountPrivileges;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithName:(NSString*) name
    status:(NSString*)status
    accountPrivileges:(NSArray<RdsAccountPrivilege*>*)accountPrivileges
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CloudInfoListResp :NSObject

/// Clouds
@property (strong,nonatomic,nonnull)  NSArray<CloudInfo*>*  clouds;


-(id) initWithClouds:(NSArray<CloudInfo*>*) clouds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CloudInfoResp :NSObject

/// Cloud
@property (strong,nonatomic,nonnull)  CloudInfo*  cloud;


-(id) initWithCloud:(CloudInfo*) cloud;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserNotFoundException :NSObject

/// Message
@property (strong,nonatomic,nonnull)  NSString*  message;

/// Code
@property (strong,nonatomic,nonnull)  NSNumber*  code;

/// Payload
@property (strong,nonatomic,nonnull)  Payload*  payload;


-(id) initWithMessage:(NSString*) message
    code:(NSNumber*)code
    payload:(Payload*)payload;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CloudNotFoundException :NSObject

/// Message
@property (strong,nonatomic,nonnull)  NSString*  message;

/// Code
@property (strong,nonatomic,nonnull)  NSNumber*  code;

/// Payload
@property (strong,nonatomic,nonnull)  Payload1*  payload;


-(id) initWithMessage:(NSString*) message
    code:(NSNumber*)code
    payload:(Payload1*)payload;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmInstanceTypeCollection :NSObject

/// InstanceTypes
@property (strong,nonatomic,nonnull)  NSArray<InstanceTypeInfo*>*  instanceTypes;


-(id) initWithInstanceTypes:(NSArray<InstanceTypeInfo*>*) instanceTypes;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcEipCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcEipItem :NSObject

/// EipAddress
@property (strong,nonatomic,nonnull)  EipAddress*  eipAddress;


-(id) initWithEipAddress:(EipAddress*) eipAddress;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcEipCollection :NSObject

/// EipAddresses
@property (strong,nonatomic,nonnull)  NSArray<EipAddress*>*  eipAddresses;


-(id) initWithEipAddresses:(NSArray<EipAddress*>*) eipAddresses;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DiskCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CloudDataDisk :NSObject

/// 云注册信息ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 云硬盘ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 云硬盘名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 云硬盘描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 磁盘大小,单位为 GiB
@property (strong,nonatomic,nonnull)  NSNumber*  diskSizeGB;

/// 挂载信息
@property (strong,nonatomic,nonnull)  NSArray<ArrayDiskAttachment*>*  attachments;

/// 云硬盘所属AZ
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 磁盘类型,取值为 ssd 或 premium-hdd
@property (strong,nonatomic,nonnull)  NSString*  diskType;

/// 创建该云硬盘的快照ID
@property (strong,nonatomic,nonnull)  NSString*  snapshotId;

/// 云硬盘状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// Tags
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    diskSizeGB:(NSNumber*)diskSizeGB
    attachments:(NSArray<ArrayDiskAttachment*>*)attachments
    az:(NSString*)az
    diskType:(NSString*)diskType
    snapshotId:(NSString*)snapshotId
    status:(NSString*)status
    tags:(NSArray<Tag*>*)tags
    createdTime:(NSString*)createdTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DiskItem :NSObject

/// Disk
@property (strong,nonatomic,nonnull)  CloudDataDisk*  disk;


-(id) initWithDisk:(CloudDataDisk*) disk;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface NetInterfaceInfo :NSObject

/// 网卡的Id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 网卡名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 网卡描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// VPC的Id
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 网卡类型
@property (strong,nonatomic,nonnull)  NSString*  type;

/// 子网id
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 可用区的 ID
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 弹性网卡关联的公网 IP
@property (strong,nonatomic,nonnull)  NSString*  associatedPublicIp;

/// 弹性网卡主私有 IP 地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;

/// 弹性网卡的 MAC 地址
@property (strong,nonatomic,nonnull)  NSString*  macAddress;

/// 弹性网卡附加的实例 ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 安全组id列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  securityGroupIds;

/// 内网ip详情列表。
@property (strong,nonatomic,nonnull)  NSArray<PrivateIp*>*  privateIps;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    vpcId:(NSString*)vpcId
    type:(NSString*)type
    subnetId:(NSString*)subnetId
    az:(NSString*)az
    associatedPublicIp:(NSString*)associatedPublicIp
    privateIpAddress:(NSString*)privateIpAddress
    macAddress:(NSString*)macAddress
    instanceId:(NSString*)instanceId
    createdTime:(NSString*)createdTime
    cloudID:(NSString*)cloudID
    securityGroupIds:(NSArray<NSString*>*)securityGroupIds
    privateIps:(NSArray<PrivateIp*>*)privateIps;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcNetworkInterfaceCollection :NSObject

/// NetInterfaces
@property (strong,nonatomic,nonnull)  NSArray<NetInterfaceInfo*>*  netInterfaces;


-(id) initWithNetInterfaces:(NSArray<NetInterfaceInfo*>*) netInterfaces;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSlbCreateTask :NSObject

/// Task
@property (strong,nonatomic,nonnull)  ResourceTFInfo*  task;


-(id) initWithTask:(ResourceTFInfo*) task;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SlbInfoDetail :NSObject

/// 所属云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 负载均衡实例ID。
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 负载均衡实例的名称。
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 负载均衡实例状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 负载均衡实例的服务地址。
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 负载均衡实例的网络类型。
@property (strong,nonatomic,nonnull)  NSString*  addressType;

/// 私网负载均衡实例的交换机ID。
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 私网负载均衡实例的专有网络ID。
@property (strong,nonatomic,nonnull)  NSString*  vpc;

/// 私网负载均衡实例的网络类型
@property (strong,nonatomic,nonnull)  NSString*  networkType;

/// 实例的主可用区ID。
@property (strong,nonatomic,nonnull)  NSString*  masterAz;

/// 实例的备可用区ID。
@property (strong,nonatomic,nonnull)  NSString*  slaveAz;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// 负载均衡实例前端使用的端口和协议列表。
@property (strong,nonatomic,nonnull)  NSArray<ListenerPortsAndProtocol*>*  listenerPortsAndProtocol;

/// 负载均衡实例的后端服务器列表。
@property (strong,nonatomic,nonnull)  NSArray<BackendServer2*>*  backendServers;

/// 负载均衡实例的的性能规格。取值：slb.s1.small、slb.s2.small、slb.s2.medium、slb.s3.small、slb.s3.medium、slb.s3.large
@property (strong,nonatomic,nonnull)  NSString*  loadBalancerSpec;


-(id) initWithCloudID:(NSString*) cloudID
    idValue:(NSString*)idValue
    name:(NSString*)name
    status:(NSString*)status
    ipAddress:(NSString*)ipAddress
    addressType:(NSString*)addressType
    subnetId:(NSString*)subnetId
    vpc:(NSString*)vpc
    networkType:(NSString*)networkType
    masterAz:(NSString*)masterAz
    slaveAz:(NSString*)slaveAz
    createdTime:(NSString*)createdTime
    listenerPortsAndProtocol:(NSArray<ListenerPortsAndProtocol*>*)listenerPortsAndProtocol
    backendServers:(NSArray<BackendServer2*>*)backendServers
    loadBalancerSpec:(NSString*)loadBalancerSpec;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSlbCollection :NSObject

/// Slbs
@property (strong,nonatomic,nonnull)  NSArray<SlbInfo*>*  slbs;


-(id) initWithSlbs:(NSArray<SlbInfo*>*) slbs;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSlbItem :NSObject

/// Slb
@property (strong,nonatomic,nonnull)  SlbInfoDetail*  slb;


-(id) initWithSlb:(SlbInfoDetail*) slb;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcVServerGroupCollection :NSObject

/// VserverGroups
@property (strong,nonatomic,nonnull)  NSArray<VserverGroupInfo*>*  vserverGroups;


-(id) initWithVserverGroups:(NSArray<VserverGroupInfo*>*) vserverGroups;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VserverGroupDetail :NSObject

/// 所属云ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 服务器组ID
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupId;

/// 服务器组名称
@property (strong,nonatomic,nonnull)  NSString*  vserverGroupName;

/// BackendServers
@property (strong,nonatomic,nonnull)  NSArray<VserverGroupBackendServer*>*  backendServers;


-(id) initWithCloudID:(NSString*) cloudID
    vserverGroupId:(NSString*)vserverGroupId
    vserverGroupName:(NSString*)vserverGroupName
    backendServers:(NSArray<VserverGroupBackendServer*>*)backendServers;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmImageCollection :NSObject

/// Images
@property (strong,nonatomic,nonnull)  NSArray<ImageInfo*>*  images;


-(id) initWithImages:(NSArray<ImageInfo*>*) images;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsSpecification :NSObject

/// 规格编号
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// CPU核数
@property (strong,nonatomic,nonnull)  NSNumber*  cpu;

/// 内存大小
@property (strong,nonatomic,nonnull)  NSNumber*  memoryGB;

/// Disk
@property (strong,nonatomic,nonnull)  RdsSpecificationDisk*  disk;


-(id) initWithInstanceClass:(NSString*) instanceClass
    cpu:(NSNumber*)cpu
    memoryGB:(NSNumber*)memoryGB
    disk:(RdsSpecificationDisk*)disk;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RdsDBInfo :NSObject

/// 数据库名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 数据库状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 字符集
@property (strong,nonatomic,nonnull)  NSString*  characterSetName;

/// AccountPrivileges
@property (strong,nonatomic,nonnull)  NSArray<RdsDBAccessPrivilege*>*  accountPrivileges;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;


-(id) initWithName:(NSString*) name
    status:(NSString*)status
    characterSetName:(NSString*)characterSetName
    accountPrivileges:(NSArray<RdsDBAccessPrivilege*>*)accountPrivileges
    cloudID:(NSString*)cloudID;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface NetAttachment :NSObject

/// 指明删除实例时是否删除网卡,默认true；（当前只能是true）
@property (strong,nonatomic,nonnull)  NSNumber*  autoDelete;

/// 设备Index
@property (strong,nonatomic,nonnull)  NSNumber*  deviceIndex;

/// NetworkInterface
@property (strong,nonatomic,nonnull)  NetworkInterface*  networkInterface;


-(id) initWithAutoDelete:(NSNumber*) autoDelete
    deviceIndex:(NSNumber*)deviceIndex
    networkInterface:(NetworkInterface*)networkInterface;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentResourcesInfo :NSObject

/// Vms
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateVm*>*  vms;

/// Eips
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,AllocateEipAddress*>*  eips;

/// Subnets
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateSubnet*>*  subnets;

/// NetworkInterfaces
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateNetInterface*>*  networkInterfaces;

/// Slbs
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,SlbInfo*>*  slbs;

/// SecurityGroups
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateSecurityGroup*>*  securityGroups;

/// SecurityGroupRules
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateSgRule*>*  securityGroupRules;

/// Keypairs
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateKeypair*>*  keypairs;

/// Disks
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateDataDisk*>*  disks;

/// Vpcs
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,VpcInfo*>*  vpcs;

/// VserverGroups
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateVserverGroup*>*  vserverGroups;

/// HttpListeners
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateLoadBalancerHTTPListener*>*  httpListeners;

/// DiskAttachment
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentAttachDisk*>*  diskAttachment;

/// NetInterfaceAttachment
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentAttachNetInterface*>*  netInterfaceAttachment;

/// EipAssociate
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentAssociateEip*>*  eipAssociate;

/// Rds
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,CreateRDSInstance*>*  rds;

/// RdsDatabase
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentRdsDatabase*>*  rdsDatabase;

/// RdsAccount
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentRdsAccount*>*  rdsAccount;

/// RdsAccountGrant
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentAccountGrant*>*  rdsAccountGrant;

/// Bucket
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,DeploymentBucket*>*  bucket;

/// Variables
@property (strong,nonatomic,nonnull)  NSMutableDictionary<NSString*,NSString*>*  variables;


-(id) initWithVms:(NSMutableDictionary<NSString*,CreateVm*>*) vms
    eips:(NSMutableDictionary<NSString*,AllocateEipAddress*>*)eips
    subnets:(NSMutableDictionary<NSString*,CreateSubnet*>*)subnets
    networkInterfaces:(NSMutableDictionary<NSString*,CreateNetInterface*>*)networkInterfaces
    slbs:(NSMutableDictionary<NSString*,SlbInfo*>*)slbs
    securityGroups:(NSMutableDictionary<NSString*,CreateSecurityGroup*>*)securityGroups
    securityGroupRules:(NSMutableDictionary<NSString*,CreateSgRule*>*)securityGroupRules
    keypairs:(NSMutableDictionary<NSString*,CreateKeypair*>*)keypairs
    disks:(NSMutableDictionary<NSString*,CreateDataDisk*>*)disks
    vpcs:(NSMutableDictionary<NSString*,VpcInfo*>*)vpcs
    vserverGroups:(NSMutableDictionary<NSString*,CreateVserverGroup*>*)vserverGroups
    httpListeners:(NSMutableDictionary<NSString*,CreateLoadBalancerHTTPListener*>*)httpListeners
    diskAttachment:(NSMutableDictionary<NSString*,DeploymentAttachDisk*>*)diskAttachment
    netInterfaceAttachment:(NSMutableDictionary<NSString*,DeploymentAttachNetInterface*>*)netInterfaceAttachment
    eipAssociate:(NSMutableDictionary<NSString*,DeploymentAssociateEip*>*)eipAssociate
    rds:(NSMutableDictionary<NSString*,CreateRDSInstance*>*)rds
    rdsDatabase:(NSMutableDictionary<NSString*,DeploymentRdsDatabase*>*)rdsDatabase
    rdsAccount:(NSMutableDictionary<NSString*,DeploymentRdsAccount*>*)rdsAccount
    rdsAccountGrant:(NSMutableDictionary<NSString*,DeploymentAccountGrant*>*)rdsAccountGrant
    bucket:(NSMutableDictionary<NSString*,DeploymentBucket*>*)bucket
    variables:(NSMutableDictionary<NSString*,NSString*>*)variables;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

@interface DeploymentInfo :NSObject

/// Info
@property (strong,nonatomic,nonnull)  DeploymentBaseInfo*  info;

/// Content
@property (strong,nonatomic,nonnull)  DeploymentResourcesInfo*  content;


-(id) initWithInfo:(DeploymentBaseInfo*) info
    content:(DeploymentResourcesInfo*)content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface VmInfoDetail :NSObject

/// 资源ID，如果为空，则执行创建操作，否则执行修改操作
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 可用区,根据各云平台规范填写
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 云主机所属的可用区
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 云主机名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 云主机
@property (strong,nonatomic,nonnull)  NSString*  hostName;

/// 镜像ID
@property (strong,nonatomic,nonnull)  NSString*  imageId;

/// ImageType
@property (strong,nonatomic,nonnull)  ImageType*  imageType;

/// InstanceType
@property (strong,nonatomic,nonnull)  InstanceType*  instanceType;

/// 云主机描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// Tags
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// 所属云提供商ID
@property (strong,nonatomic,nonnull)  NSString*  cloudID;

/// 密钥对名称,jd当前只支持传入一个
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  keyNames;

/// 主网卡主IP绑定弹性IP的地址
@property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;

/// 私有ip地址
@property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;

/// 安全组ID
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  securityGroupIds;

/// 云主机状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createdTime;

/// SysDiskInfo
@property (strong,nonatomic,nonnull)  SysDiskInfo*  sysDiskInfo;

/// 数据盘配置信息
@property (strong,nonatomic,nonnull)  NSArray<DataDiskAttachment*>*  dataDiskAttachments;

/// PrimaryNetworkInterface
@property (strong,nonatomic,nonnull)  NetAttachment*  primaryNetworkInterface;

/// 辅助网卡配置
@property (strong,nonatomic,nonnull)  NSArray<NetAttachment*>*  secondaryNetworkInterfaces;

/// 扩展信息
@property (strong,nonatomic,nonnull)  NSString*  metadata;


-(id) initWithId:(NSString*) idValue
    region:(NSString*)region
    az:(NSString*)az
    name:(NSString*)name
    hostName:(NSString*)hostName
    imageId:(NSString*)imageId
    imageType:(ImageType*)imageType
    instanceType:(InstanceType*)instanceType
    descriptionValue:(NSString*)descriptionValue
    subnetId:(NSString*)subnetId
    tags:(NSArray<Tag*>*)tags
    cloudID:(NSString*)cloudID
    keyNames:(NSArray<NSString*>*)keyNames
    elasticIpAddress:(NSString*)elasticIpAddress
    privateIpAddress:(NSString*)privateIpAddress
    securityGroupIds:(NSArray<NSString*>*)securityGroupIds
    status:(NSString*)status
    createdTime:(NSString*)createdTime
    sysDiskInfo:(SysDiskInfo*)sysDiskInfo
    dataDiskAttachments:(NSArray<DataDiskAttachment*>*)dataDiskAttachments
    primaryNetworkInterface:(NetAttachment*)primaryNetworkInterface
    secondaryNetworkInterfaces:(NSArray<NetAttachment*>*)secondaryNetworkInterfaces
    metadata:(NSString*)metadata;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmInstanceCollection :NSObject

/// Vms
@property (strong,nonatomic,nonnull)  NSArray<VmInfo*>*  vms;


-(id) initWithVms:(NSArray<VmInfo*>*) vms;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VmInstanceItem :NSObject

/// Vm
@property (strong,nonatomic,nonnull)  VmInfoDetail*  vm;


-(id) initWithVm:(VmInfoDetail*) vm;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DeploymentApplyInfo :NSObject

/// ID
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 备注信息
@property (strong,nonatomic,nonnull)  NSString*  comment;

/// 应用时间
@property (strong,nonatomic,nonnull)  NSString*  applyTime;

/// 版本
@property (strong,nonatomic,nonnull)  NSString*  version;

/// Content
@property (strong,nonatomic,nonnull)  DeploymentResourcesInfo*  content;


-(id) initWithId:(NSString*) idValue
    comment:(NSString*)comment
    applyTime:(NSString*)applyTime
    version:(NSString*)version
    content:(DeploymentResourcesInfo*)content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateChannel :NSObject

/// Channel
@property (strong,nonatomic,nonnull)  ChannelInfo*  channel;


-(id) initWithChannel:(ChannelInfo*) channel;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcSecurityGroupItem :NSObject

/// SecurityGroup
@property (strong,nonatomic,nonnull)  SecurityGroupDetail*  securityGroup;


-(id) initWithSecurityGroup:(SecurityGroupDetail*) securityGroup;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserNotFoundResp :NSObject

/// Error
@property (strong,nonatomic,nonnull)  UserNotFoundException*  error;


-(id) initWithError:(UserNotFoundException*) error;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DiskCollection :NSObject

/// Disks
@property (strong,nonatomic,nonnull)  NSArray<CloudDataDisk*>*  disks;


-(id) initWithDisks:(NSArray<CloudDataDisk*>*) disks;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VpcNetworkInterfaceItem :NSObject

/// NetInterface
@property (strong,nonatomic,nonnull)  NetInterfaceInfo*  netInterface;


-(id) initWithNetInterface:(NetInterfaceInfo*) netInterface;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* JdfusionModel_h */
